package CapaLogica;

public class ValidarNuevoUsuario
{
    public static String validarRegistroUsuario (String usuario, String clave, String nombre, String apellido, String cedula, String nacionalidad, String sexo, String estadoCivil) {

        if (usuario.isEmpty() || !stringAlfanumerico(usuario))
            return "FALSE:Nombre de usuario inválido";

        if (clave.isEmpty() || !stringAlfanumerico(clave))
            return "FALSE:Contraseña Inválida, intente de nuevo usando únicamente caracteres alfanuméricos (A..Z), (a..z), (0..9)";

        if (clave.length() < 4 || clave.length() > 10)
            return "FALSE:Contraseña Inválida, por favor ingrese entre 4 y 10 caracteres para la contraseña";

        if (nombre.isEmpty() || !stringAlfabetico(nombre))
            return "FALSE:Verifique el nombre que ingresó";

        if (apellido.isEmpty() || !stringAlfabetico(apellido))
            return "FALSE:Verifique el apellido que ingresó";

        if (cedula.isEmpty() || !stringNumerico(cedula))
            return "FALSE:Verifique el número de cédula que ingresó";

        if (nacionalidad.equals("< Seleccionar >"))
            return "FALSE:Debe especificar su país de nacimiento";

        if (sexo.equals("< Seleccionar >"))
            return "FALSE:Debe especificar su sexo";

        if (estadoCivil.equals("< Seleccionar >"))
            return "FALSE:Debe especificar su estado civil";

        return "TRUE";
    }

    public static boolean stringAlfabetico (String palabra) {
        int i, l = palabra.length();

        for (i = 0; i < l; i++)
            if (!Character.isLetter(palabra.charAt(i)))
                return false;

        return true;
    }

    public static boolean stringNumerico (String palabra) {
        int i, l = palabra.length();

        for (i = 0; i < l; i++)
            if (!Character.isDigit((palabra.charAt(i))))
                return false;

        return true;
    }

    public static boolean stringAlfanumerico (String usuario) {
        int i, l = usuario.length();

        for (i = 0; i < l; i++)
            if (!Character.isLetterOrDigit(usuario.charAt(i)))
                return false;

        return true;
    }
}